Speech processing

ABSTRACT

A clipped input speech waveform is divided into a plurality of a series of signals by means of a wavelet transform such as the Daubechies wavelet transform, which are then scaled or otherwise processed to reduce the effects of clipping, prior to reconstruction of the speech waveform using the inverse transform.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is concerned with processing of speech signals, particularly those which have been distorted by amplitude-limiting processes such as clipping.

2. Related Art

Apart from its obvious effect on perceived speech quality, clipping in a telecommunications system is disadvantageous in that it reduces the dynamic range of the signal which can adversely affect the operation of echo cancellers. According to the present invention there is provided an apparatus for processing speech comprising: means to apply to a speech signal a wavelet transform to generate a plurality of transformed components each of which is the convolution of the signal and a respective one of a set of wavelets g(t/a_(i)) where a_(i) is a temporal scaling factor for that component and g(t) is a temporally finite waveform having a mean value of zero; means to modify the components; and means to apply to the modified components the inverse of the said wavelet transform, to produce an output signal; wherein the modifying means is operable to scale at least some of the components differently from one another such as to increase the dynamic range of the output signal.

Other, preferred, aspects of the invention are defined in the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

Some embodiments of the invention will now be described, by way of example, with reference to the accompanying drawings, in which:

FIG. 1 is a block diagram of one form of speech processing apparatus according to the invention;

FIGS. 2 and 3 are a block diagram of two possible implementations of the wavelet transform unit of FIG. 1;

FIGS. 4 and 5 are block diagrams of two possible implementations of the inverse transform;

FIGS. 6a and 6b show graphically two versions of the Daubechies wavelet;

FIGS. 7a-7d provide a graph of a test speech waveform;

FIGS. 8a-8f and 9a-9f are graphs showing respectively the transformed version of the test waveform and the clipped test waveform;

FIG. 10 shows one implementation of the processing unit in FIG. 1;

FIGS. 11a and 11b are a graphical representation of a test waveform and a clipped test waveform after processing by the apparatus of FIG. 1; and

FIGS. 12a-14d show some alternative wavelets.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

The apparatus of FIG. 1 is designed to receive, at an input 1, speech signals which have been distorted by clipping. The input signals are assumed to be in the form of digital samples at some sampling rate f_(s), e.g. 8 kHz. On the assumption that, because of the clipping, the signal employs the whole of the available dynamic range of the digital representation, it is firstly multiplied, in a multiplier 2, by a scaling factor S₁ (S₁ <1 ) to allow "headroom" for subsequent processing. Of course, an analogue-to-digital converter may be added if an analogue input is required. The signals are then supplied to a filter arrangement 3 which applies to the signals a Wavelet Transform, to produce N (e.g. five) outputs corresponding to respective transform levels. The series of signals V_(i) (i=1, . . . N) appearing at these outputs are fed to a processing unit 4 which scales or otherwise processes them to produce N processed outputs V_(i) ' which are then subject to the inverse wavelet transform in an inverse transform unit 5, to provide, after further scaling by a multiplier 6, a reconstructed speech signal at an output 7.

The general form of the wavelet transform W_(g) of a function f(t) is ##EQU1## where g is the transform kernel.

If b is regarded as the independent variable of W_(g), and expressed as a time series for discrete values a_(i) of a, then writing also a summation for the integral as we are dealing with a discrete system) we have a set of series for the transformed signal: ##EQU2## where i (i=1, . . . N) is the level of the series and n is the number of filter coefficients.

If we write g(x/a_(i))=g_(i) (x) then ##EQU3## which can be implemented by a bank of N filters having coefficients given by g₁ to g_(N) respectively. Such a filter bank is shown in FIG. 2 with N filters 31/1 to 31/N.

The transform kernel g can in principle be any wavelet, i.e. a temporally finite waveform having a mean value of zero; however, particularly preferred is the use of a Daubechies wavelet, a formal definition of which may be found in I Daubechies "Orthonormal Bases of Compactly Supported Wavelets", Comm. Pure & Applied Maths, Vol. XLI, No. 7, pp 909-996 (1988).

In this embodiment, a_(i) =2^(i).

Because of the limited bandwidth of the filters their outputs contain a lot of redundant information and can be downsampled to a lower sampling rate by decimators 32/1 to 32/N, in each case by a factor k_(i) =2^(i).

Alternatively, the filter bank may be constructed from cascaded quadrature mirror filter pairs, as shown in FIG. 3, where a first pair 33/1, 34/1 with coefficients g and h feed decimators 35/1, 36/1 (of factor 2) and so on. Comparison with FIG. 1 shows that h=g₁. Note that, unlike the FIG. 2 construction, this structure has a further output, referenced 37 in FIG. 3, carrying a residual signal--i.e. that part of the input information not represented by the N transformed outputs. This may be connected directly to the corresponding input of the synthesis filter.

FIG. 4 shows one implementation of the inverse transform unit 5, with upsampling devices 51/1, 51/2 . . . 51/N having the same factors k₁, . . . k_(N) as the decimators in FIG. 2, followed by filters 52/1, 52/2, . . . 52/N having coefficient sets g1', g2', . . . gN' whose outputs are combined in an adder 53. Each coefficient set g1' etc.. is a time-reversed version of the coefficient set g1 etc.. used for the corresponding filter in FIG. 2.

FIG. 5 shows a cascaded quadrature mirror filter form of the inverse transform unit 5, with filters 54/1, 54/2, . . . 54/N having coefficients h' and filters 55/1, 55/2, . . . 55/N with coefficients g'. h' and g' are time-reversed versions of the coefficient sets h and g respectively, used in FIG. 3. Upsamplers 56/1, 56/2, . . . 56/N and 57/1, 57/2, . . . 57/N are shown, as are adders 58/1, 58/2, . . . 58/N. Each section is similar: for example the second section receives the second order input, upsamples it by a factor of two in the upsampler 56/2 and passes it to the filter 54/2. The filter output is added in the adder 58/2 with the sum of higher-order contributions fed to the second input of the adder via the x2 upsampler 57/2 and filter 55/2. The highest order section receives the residual signal at its upsampler 57/N. The output of the unit 5 is produced by the adder 58/1.

As an analysis method wavelet transforms are, ideally, characterised by the qualities of completeness of representation, which implies invertability, and orthogonally, which implies minimal representational redundancy. Furthermore, in principle, one could adopt the notion that the mother wavelet (or wavelets) should be designed to closely match the characteristics of speech such that the representation is compact, in the sense that as few coefficients as possible in the transform domain have significance.

The Daubechies wavelet transform has neatly rounded triangle of orthogonality, scale and translation factors and invertability. The cost is that the waves are completely specified and are therefore generic and cannot be adapted for speech or any other signal in particular.

Now it may be that for power of two decimations FIG. 3 is actually a general form and that the Daubachies theory actually amounts to the imposition if orthogonality and invertibility with this.

We can see the shape of the Daubachies wavelets by direct analysis of the structure in FIG. 3 to obtain the equivalent filters of FIG. 1. For the fourth order transform the first dilated wavelet is 10 samples long, the second 22, the third 46; for the sixth order these numbers are 16, 36 and 76. A direct numerical method to get these is to inverse transform impulses at and scale level. This was done to obtain FIGS. 6a and 6b showing, respectively, a 6th -rder, 4th level Daubechies wavelet and a 20th order 4th level Daubechies wavelet; where the discrete Fourier transform of the wavelets is also shown beneath. It is seen that they are band limited signals and that the lower order wavelets have significant ripple.

The effect of clipping in the wavelet transform domain is illustrated by FIGS. 7 to 9. FIGS. 7a-7d show a test waveform of 0.5 seconds of speech, plotted against sample number at 8 kHz. FIGS. 8a-8e show the 12^(th) order Daubechies wavelet transform of the test waveform, to five levels, plotted against sample number after decimation, whilst FIGS. 9a-e show the same transform of the test waveform clipped at ±1000 (referred to the arbitrary vertical scales on FIGS. 7a-7d). FIGS. 8f and 9f show the residual signal in each case.

The task of the sequence processor 4 is to process the sequences of FIGS. 9a-e such that they more closely resemble those of FIGS. 8a-e. The simplest form of this processing is a linear scaling of the sequences, and the version shown in FIG. 10 shows multipliers 41/1 etc. applying the following factors:

    ______________________________________                                                first level                                                                            0.2                                                                    second level                                                                                0.2                                                               third level                                                                                  0.68                                                             fourth level                                                                                1                                                                 fifth level                                                                                  1                                                         ______________________________________                                    

This arrangement acts to rebuild the dynamic range of the signal by enhancing the longer scale components of the Wavelet transform, since it was observed that these are apparently only scaled by clipping. The final scale factor s2 should be chosen by some AGC method.

FIGS. 8a-8e show a sample a of speech and b of the same speech after clipping and processing by the apparatus of FIG. 1, with the weights given above, S1=1 and S2=2.5. Clip levels are marked CL.

The determination of the best weights more formally can be done if a cost function can be defined. Some experiments involving manual search were performed using dynamic range matrixes of peaks characterised by the median of the top five absolute values in a sample, and troughs characterised by the number of samples of value less than 5.

For practical implementation the best weights should be determined from direct numerical optimisation.

Other forms of processing are possible, for example a nonlinear scaling, of possibly forming linear or nonlinear combinations of sequences. Nonlinear operations may include thresholding, windowing, limiting and rank order filtering.

If desired, this weighting may be adaptively controlled. Two aspects are addressed here.

Firstly the clipping levels may change. We might assume that s1 in some way tracks this, that is to say s1=1 when no clipping is present and decreases otherwise. Then if we were using fixed weights, W⁰, determined by some one-time optimisation we might use

    W=s.sub.1 +(1-s.sub.1)W.sup.0

in the filter or something more complicated.

Secondly the off-line weight determination may not be adequate for the range of speech signal actually occurring on the line. In that case it could be advantageous to adaptively alter the weights in real time. At present there is no analytic cost of the weight available. A numerical function could be the product of the dynamic range measures discussed above. Since there are only a few weights in the wavelet domain filter it is feasible to do a direct gradient search. Exploring all possibilities of adding or subtracting a given step to each weight involves the evaluation of the cost function 2^(n) +1 times for n weights (the number of vertices of an n-dimensional hypercube plus one for the centre point). This can be implemented by providing this number of filters with the appropriate shifted weight vectors and replacing the centre value with best performing one at set time steps.

The Wavelet Domain Filter based on the Daubechies sequence works very well. The Daubechies wavelets is generic and one might expect that better results could be obtained with wavelets that are closely matched to the speech signals themselves. In doing this it would be expected that use can be made of the fact that voiced speech is more likely to suffer from clipping. That is to say the wavelet series can, in principle, be tailored to represent in a compact and thus easily processed form, the parts of speech sensitive to clipping.

The main problem here is the design of the wavelet transform, the mother wavelet and the set of scaling and translation to be employed and how they are implemented.

In designing matched wavelets it will be very difficult to retain the orthogonality and perfect reconstruction properties that the Daubechies transform has. We will need to understand the trade-off between these properties and the improved representational powers of the sophisticated wavelets. It may be that appropriate orthogonality and slightly imperfect reconstruction would be sufficient if there were clear gains in the represpentational power.

There has been some work on fitting mother wavelet shapes in a least squares sense in order to achieve improved data compression. One seeks to parameterise the shape of the wavelets in some way and perform direct optimisation. Here the zero crossing patterns are used to find wavelets for the filter bank structure; only the first level is considered. Examining the zero-crossing statistics of the test waveform shows that there are repeated patterns of two or more components. The general form of most of these is a "down-chirp"; large followed by smaller intervals. As a simple ad-hoc way of building wavelets with given zero crossing intervals, parabolas were joined together. Some wavelets designed this way are shown in FIGS. 12a-12d, 13a-13d and 14a-14d. 

What is claimed is:
 1. An apparatus for processing speech comprising:means to apply to a speech signal a wavelet transform to generate a plurality of transformed components each of which is the convolution of the signal and a respective one of a set of wavelets g(t/a_(i)) where a_(i) is a temporal scaling factor for that component and g(t) is a temporally finite waveform having a mean value of zero; means to modify the components; and means to apply to the modified components the inverse of the said wavelet transform, to produce an output signal; wherein the modifying means is operable to scale at least some of the components differently from one another such as to increase the dynamic range of the output signal, wherein said wavelet transformed components are a function of a significant common range of frequencies in an input speech signal.
 2. An apparatus according to claim 1 in which the transform is a Daubechies wavelet transform.
 3. An apparatus according to claim 2 including decimators for reducing the sampling rate of the components prior to modification.
 4. An apparatus according to claim 3 in which the transform means is formed by cascaded quadrature mirror filter pairs.
 5. An apparatus according to claim 1 in which the modifying means is operable to apply linear weighting factors to at least some of the components.
 6. An apparatus according to claim 5 in which the weighting factors are relatively lower for relatively lower order components.
 7. An apparatus according to claim 5 including means for measuring the degree of clipping of the speech signal and to vary the weighting factors as a function thereof.
 8. A method for processing speech, said method comprising:transforming a speech signal with a wavelet transform to generate a plurality of transformed components each of which is the convolution of the signal and a respective one of a set of wavelets g(t/a_(i)) where a_(i) is a temporal scaling factor for that component and g(t) is a temporally finite waveform having a mean value of zero; modifying the components by scaling at least some of the components differently from one another such as to increase the dynamic range of an output signal; and inverting the modified components with the inverse of the said wavelet transform, to produce said output signal, wherein said wavelet transformed components are a function of a significant common range of frequencies in an input speech signal.
 9. A method as in claim 8 in which the transform is a Daubechies wavelet transform.
 10. A method as in claim 9 reducing the sampling rate of the components prior to modification.
 11. A method as in claim 10 in which the transform is formed by cascaded quadrature mirror filter pairs.
 12. A method as in claim 8 in which the modifying step applies linear weighting factors to at least some of the components.
 13. A method as in claim 12 in which the weighting factors are relatively lower for relatively lower order components.
 14. A method as in claim 12 including measuring the degree of clipping of the speech signal and varying the weighting factors as a function thereof. 